#pragma once
#include "ITradeEvent.h"
#include "IStrategy.h"

class EventTick : public ITradeEvent
{
	virtual void Accept(IStrategy& strategy) const override
	{
		strategy.OnEvent(*this);
	}
};

class EventOrder : public ITradeEvent
{
	virtual void Accept(IStrategy& strategy) const override
	{
		strategy.OnEvent(*this);
	}
};

class EventTrade : public ITradeEvent
{
	virtual void Accept(IStrategy& strategy) const override
	{
		strategy.OnEvent(*this);
	}
};

class EventPosition : public ITradeEvent
{
	virtual void Accept(IStrategy& strategy) const override
	{
		strategy.OnEvent(*this);
	}
};